continue用於結構中,其作用是跳過本次循環,並不是跳出迴圈
for index in 0...3{
if index == 2{
continue
}
print("第(index)次")
}
// 印出 第0次 第1次 第3次
創建了兩層結構,內層利用continue進行跳轉,MyLabel是外層標籤,因此這個程式碼會跳過index = 1的迴圈,直接開始index = 2。
MyLabel:for indexI in 0...2 {
for indexj in 0...2 {
if indexI == 1{
continue MyLabel
}
print("第(indexI) (indexj) 次")
}
}
// 印出以下
// 第0 0 次
// 第0 1 次
// 第0 2 次
// 第2 0 次
// 第2 1 次
// 第2 2 次
break是用來中斷語句,和continue不同的是break會直接中斷包含他的結構。
for index2 in 0...3 {
if index2 == 2{
break
}
print("第(index2)次")
}
// 印出以下
// 第0次
// 第1次
// 後面會直接中斷
break也可以利用指定標籤的方式,中斷其結構
MyLabel:for indexJ in 0...3 {
for indexk in 0...3 {
if indexJ == 2{
break MyLabel
}
print("第(indexJ) (indexk) 次")
}
}
// 印出以下 indexJ = 2之後的都會被中斷
//第0 0 次
//第0 1 次
//第0 2 次
//第0 3 次
//第1 0 次
//第1 1 次
//第1 2 次
//第1 3 次
fallthrough是Swift中特有的控制語句,原本的switch case在匹配到對應的case值,就會自動結束後面的動作,如果開發中需要不中斷其結構,就可以利用fallthrough來達到其效果。
var tuple = (0,0)
switch tuple {
case (0,0):
print("sure")
fallthrough
// 會繼續執行下面的case
case (_,0):
print("sim")
fallthrough
case (0...3,0...3):
print("SIM")
default:
print("")
}
throw語句用來進行異常地拋出,但拋出的也要進行處理,不然還是會中段報錯,有關拋出異常以及處理異常的部分後面會介紹。
定義異常
enum MyError: Error{
case errorOne
case errorTwo
}
func newFunc() throws {
throw MyError.errorOne
// 拋出異常
}
guard else的作用是確保某個條件成立才允許後面的程式執行。
func myFuncTwo(param: Int) {
guard param > 0 else {
return
}
print("another")
}
接下來,是函數的介紹